package com.walter.blog.business.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.walter.db.pojo.Content;
import com.walter.response.ResponseKit;
import com.walter.vo.content.ContentListVO;
import com.walter.vo.page.PageVO;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author: wuchenxi
 * @date: 2020/8/8 10:42:42
 */
public interface ContentService extends IService<Content> {
    /**
     * 发表文章
     *
     * @param content
     * @param categoryId
     * @return
     */
    ResponseKit<Object> addContent(Content content, String categoryId);

    /**
     * 获取所有公开文章
     *
     * @param pageNum
     * @param pageSize
     * @param content
     * @return
     */
    ResponseKit<PageVO<ContentListVO>> listContents(Integer pageNum, Integer pageSize, String content);

    /**
     * 获取我自己所有公开文章
     *
     * @param pageNum
     * @param pageSize
     * @param content
     * @return
     */
    ResponseKit<PageVO<ContentListVO>> listMyContents(Integer pageNum, Integer pageSize, String content);

    /**
     * 根据id查询指定文章内容
     *
     * @param id
     * @return
     */
    ResponseKit<Content> getContent(String id);

    /**
     * 验证用户是否能够编辑当前文章
     *
     * @param id
     * @return
     */
    ResponseKit<Object> canEdit(String id);

    /**
     * 删除文章
     *
     * @param id
     * @return
     */
    ResponseKit<Object> del(String id);

    /**
     * 上传图片
     *
     * @param file
     * @return
     */
    ResponseKit<Object> uploadImg(MultipartFile file);

    /**
     * 查询当前文章绑定的类型
     *
     * @param contentId
     * @return
     */
    ResponseKit<String> category(String contentId);
}
